Organizations環境下でLatticeのログを集約アカウントに集約してみた
こんにちは、AWS事業部の木村です。
今回Organizations環境下にある、Latticeのログをアーカイブアカウントに集約してみる機会がございましたので、集約する方法をご紹介したいと思います。
全体像のご紹介
設定は簡単で、以下2ステップのみの作業となります。
1.Latticeログ集約バケットの作成
2.Latticeにおけるログ設定
では早速それぞれのステップで必要な作業を紹介させていただきます。
Latticeログ集約バケットの作成
ログを集約するアカウントにS3バケットを作成します。この際デフォルトの設定でバケットを作成します。
作成したS3バケットのバケットポリシーの設定で、Organizations配下のアカウントからのアクセスを許可するように設定を行なっていきます。
今回は最近追加された、aws:SourceOrgIDを利用してアクセスを制御の設定を行います。
aws:SourceOrgIDの内容に関してはわかりやすく記載されておりますのでこちらのブログをご確認ください。
aws:SourceOrgIDを利用する場合、設定を行うバケットポリシーは以下になります。
{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite20150319", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "<S3のバケットのARN>/*", "Condition": { "StringEquals": { "aws:SourceOrgID": "<organizationID>", "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "<S3のバケットのARN>", "Condition": { "StringEquals": { "aws:SourceOrgID": "<organizationID>" } } } ] }
S3のバケットのARNとorganizationIDについては適宜ご自身のアカウントの情報に置き換えてください。
以上にてLatticeログ集約バケットの作成は終了となります。
Latticeにおけるログ設定
続いてLatticeにてログの設定を行なっていきます。
Latticeではログの設定をサービスネットワークとサービスにて設定することができます。
どちらに設定を行なっても同じ内容のログが記録されますので、両方に設定を行うと同じ内容のログがそれぞれ記録されますのでご注意ください。
今回はサービスネットワークにログを設定していきたいと思います。
設定を追加したいサービスネットワークを選択して、画面左上のアクションから「ログ設定を編集」を選択してください。
アクセスログを有効化して、S3にチェックを入れます。
配信先の設定にs3://<先ほど作成したバケット名>を入力して設定内容を保存してください。
以上にてLatticeの設定は終了になります。
まとめ
今回はマルチアカウント環境下でログを集約する方法をご紹介させていただきました。
ネットワークを分離する際などサービスネットワークを分割する場面にて有効に利用できるかと思います。設定も簡単ですので是非試してみてください。
この記事がどなたかの参考になれば幸いです。
以上AWS事業部の木村でした。